# encoding: utf-8
"""
@author: 夏洛
@QQ: 1972386194
@file: 02-bs4.py
"""

from bs4 import BeautifulSoup
# 2个参数      html 文本   解析引擎
soup = BeautifulSoup('<p>Hello world</p>', 'lxml')
print(soup.p.string)


html = """
<html>
<head>
<title>The Dormouse's story</title>
</head>
<body>
<p class="title" name="dromouse"><b>The Dormouse's story</b></p>
<p class="story">Once upon a time there were three little sisters; and their names were
<a href="http://example.com/elsie" class="sister" id="link1"><!-- Elsie --></a>,
<a href="http://example.com/lacie" class="sister" id="link2">Lacie</a> and
<a href="http://example.com/tillie" class="sister" id="link3">Tillie</a>;
and they lived at the bottom of a well.</p>
<p class="story">...</p>
"""

soup = BeautifulSoup(html, 'lxml')
print(soup.title)  # 根据标签名定位
print(soup.title.string)  # 根据标签名定位

print(soup.head)
print(soup.p)  # 如果有多个 提取最先出现的

print(soup.p.attrs)
print(soup.p.attrs['name'])


html2 = """
<html><head><title>The Dormouse's story</title></head>
<body>
"""
soup1 = BeautifulSoup(html2, 'lxml')
print(soup1.head.title)  # 从上级开始定位
print(soup1.title)   # 直接从子级   //

# p > 3个a
html3 = """
<html>
    <head>
        <title>The Dormouse's story</title>
    </head>
    <body>
        <p class="story">
            Once upon a time there were three little sisters; and their names were
            <a href="http://example.com/elsie" class="sister" id="link1">
                <span>Elsie</span>
            </a>
            <a href="http://example.com/lacie" class="sister" id="link2">Lacie</a> 
            and
            <a href="http://example.com/tillie" class="sister" id="link3">Tillie</a>
            and they lived at the bottom of a well.
        </p>
        <p class="story">...</p>
"""
soup2 = BeautifulSoup(html3, 'lxml')

print(soup2.select('.story > a > span')[0].text)
print(soup2.select('#link1'))
print(soup2.select('#link1')[0].attrs['href'])  # 提取属性使用 attrs


html4 = """

<div class="indent">

<div class="">
    <p class="ul first"></p>
    <table width="100%" class="">
        <tbody><tr class="item">
            <td width="100" valign="top">
                

                    <a class="nbg" href="https://movie.douban.com/subject/27199850/" title="暗夜博士：莫比亚斯">
                        <img src="https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2762791899.webp" width="75" alt="暗夜博士：莫比亚斯" class="">
                    </a>
            </td>

            <td valign="top">
                

                <div class="pl2">

                    <a href="https://movie.douban.com/subject/27199850/" class="">
                        暗夜博士：莫比亚斯
                        / <span style="font-size:13px;">莫比亚斯 / 魔比煞(港)</span>
                    </a>



                    <p class="pl">2022-04-01(美国) / 杰瑞德·莱托 / 马特·史密斯 / 阿德里娅·阿霍纳 / 杰瑞德·哈里斯 / 泰瑞斯·吉布森 / 艾尔·马德里加尔 / 迈克尔·基顿 / 查理·肖特韦尔 / 汤姆·福布斯 / 克拉拉·罗萨杰 / 克里·约翰逊 / 宾利·卡鲁 / 阿奇·雷诺 / 乔乔·马卡里...</p>

                    


                        
                        <div class="star clearfix">
                                <span class="allstar30"></span>
                                <span class="rating_nums">5.7</span>
                                <span class="pl">(20094人评价)</span>

                        </div>


                </div>

            </td>
        </tr>
    </tbody></table>
    <div id="collect_form_27199850"></div>
    <p class="ul"></p>
    <table width="100%" class="">
        <tbody><tr class="item">
            <td width="100" valign="top">
                

                    <a class="nbg" href="https://movie.douban.com/subject/30165311/" title="坏蛋联盟">
                        <img src="https://img2.doubanio.com/view/photo/s_ratio_poster/public/p2870318303.webp" width="75" alt="坏蛋联盟" class="">
                    </a>
            </td>

            <td valign="top">
                

                <div class="pl2">

                    <a href="https://movie.douban.com/subject/30165311/" class="">
                        坏蛋联盟
                        / <span style="font-size:13px;">大坏蛋 / 坏家伙</span>
                    </a>



                    <p class="pl">2022-03-17(阿根廷) / 2022-04-22(美国) / 2022-04-29(中国大陆) / 山姆·洛克威尔 / 马克·马龙 / 奥卡菲娜 / 克雷格·罗宾森 / 安东尼·拉莫斯 / 理查德·艾欧阿德 / 莎姬·贝兹 / 艾利克斯·布诺斯町 / 莉莉·辛格 / 芭芭拉·古德森 / 迪娜·莫罗 /...</p>

                    


                        
                        <div class="star clearfix">
                                <span class="allstar35"></span>
                                <span class="rating_nums">7.3</span>
                                <span class="pl">(63632人评价)</span>

                        </div>


                </div>

            </td>
        </tr>
    </tbody></table>
    <div id="collect_form_30165311"></div>
    <p class="ul"></p>
    <table width="100%" class="">
        <tbody><tr class="item">
            <td width="100" valign="top">
                

                    <a class="nbg" href="https://movie.douban.com/subject/34861178/" title="北欧人">
                        <img src="https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2791746867.webp" width="75" alt="北欧人" class="">
                    </a>
            </td>

            <td valign="top">
                

                <div class="pl2">

                    <a href="https://movie.douban.com/subject/34861178/" class="">
                        北欧人
                        / <span style="font-size:13px;">北方人(台)</span>
                    </a>



                    <p class="pl">2022-04-15(英国) / 2022-04-22(美国) / 2022-05-13(美国网络) / 亚历山大·斯卡斯加德 / 妮可·基德曼 / 克拉斯·邦 / 伊桑·霍克 / 安雅·泰勒-乔伊 / 古斯塔夫·林德 / 威廉·达福 / 艾略特·罗斯 / 菲尔·马丁 / 埃尔达·斯卡 / 欧文·弗热瑞 / 埃德加·阿布拉姆...</p>

                    


                        
                        <div class="star clearfix">
                                <span class="allstar35"></span>
                                <span class="rating_nums">6.5</span>
                                <span class="pl">(12924人评价)</span>

                        </div>


                </div>

            </td>
        </tr>
    </tbody></table>
    <div id="collect_form_34861178"></div>
    <p class="ul"></p>
    <table width="100%" class="">
        <tbody><tr class="item">
            <td width="100" valign="top">
                

                    <a class="nbg" href="https://movie.douban.com/subject/35769174/" title="万湖会议">
                        <img src="https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2873273219.webp" width="75" alt="万湖会议" class="">
                    </a>
            </td>

            <td valign="top">
                

                <div class="pl2">

                    <a href="https://movie.douban.com/subject/35769174/" class="">
                        万湖会议
                        / <span style="font-size:13px;">The Conference</span>
                    </a>



                    <p class="pl">2022-01-18(德国) / 菲利普·霍奇迈尔 / 约翰尼斯·艾麦亚 / 马克西米连·布鲁克纳 / 法比安·布施 / 雅各布·迪尔 / 戈德哈尔德·吉瑟 / 阿诺德·克拉威特 / 弗莱德雷克·林克曼 / 托马斯·洛伊布尔 / 萨沙·纳丹 / 马库斯·施莱泽 / 西蒙·舒瓦茨...</p>

                    


                        
                        <div class="star clearfix">
                                <span class="allstar40"></span>
                                <span class="rating_nums">8.1</span>
                                <span class="pl">(7080人评价)</span>

                        </div>


                </div>

            </td>
        </tr>
    </tbody></table>
    <div id="collect_form_35769174"></div>
    <p class="ul"></p>
    <table width="100%" class="">
        <tbody><tr class="item">
            <td width="100" valign="top">
                

                    <a class="nbg" href="https://movie.douban.com/subject/35303842/" title="迷失之城">
                        <img src="https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2784513117.webp" width="75" alt="迷失之城" class="">
                    </a>
            </td>

            <td valign="top">
                

                <div class="pl2">

                    <a href="https://movie.douban.com/subject/35303842/" class="">
                        迷失之城
                        / <span style="font-size:13px;">迷失D城 / Lost City of D</span>
                    </a>



                    <p class="pl">2022-03-25(美国) / 桑德拉·布洛克 / 查宁·塔图姆 / 丹尼尔·雷德克里夫 / 达明·乔伊·伦道夫 / 布拉德·皮特 / 奥斯卡·努内斯 / 帕蒂·哈里森 / 杨伯文 / 乔安·普林格尔 / 赫克托·阿尼巴尔 / 托马斯·福布斯·约翰逊 / 斯莱·刘易斯 / 亚当·尼...</p>

                    


                        
                        <div class="star clearfix">
                                <span class="allstar30"></span>
                                <span class="rating_nums">5.6</span>
                                <span class="pl">(6983人评价)</span>

                        </div>


                </div>

            </td>
        </tr>
    </tbody></table>
    <div id="collect_form_35303842"></div>
    <p class="ul"></p>
    <table width="100%" class="">
        <tbody><tr class="item">
            <td width="100" valign="top">
                

                    <a class="nbg" href="https://movie.douban.com/subject/35372415/" title="套装">
                        <img src="https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2868098898.webp" width="75" alt="套装" class="">
                    </a>
            </td>

            <td valign="top">
                

                <div class="pl2">

                    <a href="https://movie.douban.com/subject/35372415/" class="">
                        套装
                        / <span style="font-size:13px;">誓不低头</span>
                    </a>



                    <p class="pl">2022-02-14(柏林电影节) / 2022-03-18(美国) / 马克·里朗斯 / 佐伊·达奇 / 迪伦·奥布莱恩 / 强尼·弗林 / 妮基·阿姆卡-伯德 / 西蒙·拉塞尔·比尔 / 乔纳森·麦克莱恩 / 阿伦·梅迪扎德 / 美国 / 格拉汉姆·摩尔 / 106分钟 / 套装 / 剧情 / 犯罪...</p>

                    


                        
                        <div class="star clearfix">
                                <span class="allstar40"></span>
                                <span class="rating_nums">7.9</span>
                                <span class="pl">(41793人评价)</span>

                        </div>


                </div>

            </td>
        </tr>
    </tbody></table>
    <div id="collect_form_35372415"></div>
    <p class="ul"></p>
    <table width="100%" class="">
        <tbody><tr class="item">
            <td width="100" valign="top">
                

                    <a class="nbg" href="https://movie.douban.com/subject/26926448/" title="青面修罗">
                        <img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2872702334.webp" width="75" alt="青面修罗" class="">
                    </a>
            </td>

            <td valign="top">
                

                <div class="pl2">

                    <a href="https://movie.douban.com/subject/26926448/" class="">
                        青面修罗
                        / <span style="font-size:13px;">刺局电影 / 刺局</span>
                    </a>


                        <span style="font-size: 13px; padding-left: 3px; color: #00A65F;">[可播放]</span>

                    <p class="pl">2022-05-13(中国大陆网络) / 冯绍峰 / 胡军 / 金晨 / 王庆祥 / 吕良伟 / 曾江 / 高捷 / 吴岱融 / 盛鉴 / 徐少强 / 修庆 / 杜玉明 / 袁祥仁 / 闵政 / 马小茜 / 周小飞 / 涂圣成 / 吴永伦 / 中国大陆 / 中国香港 / 李仁港 / 118分钟 / 剧情 / 动作 / 悬疑...</p>

                    


                        
                        <div class="star clearfix">
                                <span class="allstar20"></span>
                                <span class="rating_nums">4.2</span>
                                <span class="pl">(3183人评价)</span>

                        </div>


                </div>

            </td>
        </tr>
    </tbody></table>
    <div id="collect_form_26926448"></div>
    <p class="ul"></p>
    <table width="100%" class="">
        <tbody><tr class="item">
            <td width="100" valign="top">
                

                    <a class="nbg" href="https://movie.douban.com/subject/34966922/" title="甘古拜·卡蒂娅瓦迪">
                        <img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2868031426.webp" width="75" alt="甘古拜·卡蒂娅瓦迪" class="">
                    </a>
            </td>

            <td valign="top">
                

                <div class="pl2">

                    <a href="https://movie.douban.com/subject/34966922/" class="">
                        甘古拜·卡蒂娅瓦迪
                        / <span style="font-size:13px;">甘古拜·卡蒂亚瓦迪 / 孟买女帝</span>
                    </a>



                    <p class="pl">2022-02-16(柏林电影节) / 2022-02-25(印度) / 阿莉雅·布哈特 / 山塔努·马赫什瓦里 / 维贾伊·拉齐 / 英迪拉·蒂瓦里 / 西玛·帕瓦 / 阿贾耶·德乌干 / 瓦伦·卡浦尔 / 阿卡什·潘迪 / 查亚·卡达姆 / 拉萨·默拉德 / 胡玛·库雷希 / M·K·拉伊纳...</p>

                    


                        
                        <div class="star clearfix">
                                <span class="allstar40"></span>
                                <span class="rating_nums">7.6</span>
                                <span class="pl">(4584人评价)</span>

                        </div>


                </div>

            </td>
        </tr>
    </tbody></table>
    <div id="collect_form_34966922"></div>
    <p class="ul"></p>
    <table width="100%" class="">
        <tbody><tr class="item">
            <td width="100" valign="top">
                

                    <a class="nbg" href="https://movie.douban.com/subject/35307624/" title="渔港的肉子酱">
                        <img src="https://img2.doubanio.com/view/photo/s_ratio_poster/public/p2871666892.webp" width="75" alt="渔港的肉子酱" class="">
                    </a>
            </td>

            <td valign="top">
                

                <div class="pl2">

                    <a href="https://movie.douban.com/subject/35307624/" class="">
                        渔港的肉子酱
                        / <span style="font-size:13px;">渔港的肉子 / Fortune Favors Lady Nikuko</span>
                    </a>



                    <p class="pl">2021-06-11(日本) / 大竹忍 / 木村心美 / 花江夏树 / 吉冈里帆 / 松子DELUXE / 石井泉 / 中村育二 / 山西惇 / 八十田勇一 / 日本 / 渡边步 / 97分钟 / 渔港的肉子酱 / 动画 / 西加奈子 Kanako Nishi / 大岛里美 Satomi Oshima / 日语</p>

                    


                        
                        <div class="star clearfix">
                                <span class="allstar40"></span>
                                <span class="rating_nums">8.2</span>
                                <span class="pl">(4836人评价)</span>

                        </div>


                </div>

            </td>
        </tr>
    </tbody></table>
    <div id="collect_form_35307624"></div>
    <p class="ul"></p>
    <table width="100%" class="">
        <tbody><tr class="item">
            <td width="100" valign="top">
                

                    <a class="nbg" href="https://movie.douban.com/subject/34816897/" title="绞肉行动">
                        <img src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2691069194.webp" width="75" alt="绞肉行动" class="">
                    </a>
            </td>

            <td valign="top">
                

                <div class="pl2">

                    <a href="https://movie.douban.com/subject/34816897/" class="">
                        绞肉行动
                        / <span style="font-size:13px;">死间行动(台) / 肉馅行动</span>
                    </a>


                        <span style="font-size: 13px; padding-left: 3px; color: #00A65F;">[可播放]</span>

                    <p class="pl">2021-11-05(澳大利亚英国电影节) / 2022-04-15(英国) / 2022-05-11(美国网络) / 2022-05-11(中国大陆网络) / 科林·费尔斯 / 马修·麦克费登 / 凯莉·麦克唐纳 / 佩内洛普·威尔顿 / 强尼·弗林 / 詹森·艾萨克 / 马克·加蒂斯 / 哈蒂·莫拉汉 / 马克·博纳尔...</p>


                        
                        <div class="star clearfix">
                                <span class="allstar30"></span>
                                <span class="rating_nums">6.3</span>
                                <span class="pl">(2982人评价)</span>

                        </div>


                </div>

            </td>
        </tr>
    </tbody></table>
    <div id="collect_form_34816897"></div>
</div>


    </div>

"""

soup4 = BeautifulSoup(html4, 'lxml')

print(soup4.select('.pl2 > a')[0].text)


# find 方法
import httpx
def get_news_text():

    res = httpx.get('https://36kr.com/information/web_news/latest/')
    print(res.text)
    soup5 = BeautifulSoup(res.text, 'lxml')
    title = soup5.findAll('a',class_ = "article-item-title")

    for ti in title:
        print(ti.get_text())
        # 提取属性  .get 没有数据返回none
        print(ti.attrs.get('href'))
    '''
    [key]    如果key为空 报错
    .get(key)   如果key为空 不报错 返回None
    '''
get_news_text()
